1. Field
The present technology relates to systems and methods for encoding, transmitting, and decoding multimedia data. More particularly, the technology relates to computer architecture and operating methods that can enable encoders, transmitters, and decoders to track usage of intellectual property and make decisions on the basis of intellectual property rights.
2. Description of the Related Art
Traditional multimedia encoding and decoding methods are predominantly proprietary or standardized. In this case, the video, audio or general multimedia is encoded in a fixed format and portions of the encoder and/or decoder are subject to licensing. Therefore, the entire encoder or decoder is typically subject to a single or small number of licensing agreements whether or not particular functionally that would be covered by one or more patents is ever used.
More specifically, multimedia encoders and decoders involve complex algorithms with encoding options that are dependent on inputs or parameters such as multimedia content, desired rate, distortion or complexity, and available system resources. Due to the dependencies between these inputs, within the encoders/decoders there are many branches in the algorithms that would choose to encode or decode using different functionality than other branches. Some of the functionalities may be covered by intellectual property, while others may not. Furthermore, the encoder or decoder may be licensed as a whole, or portions may be licensed separately. However, typically, even if algorithm branches containing particular functionally are never reached, the functionality is licensed as part of the encoder or decoder.
In a coding system encoding decisions may be made at a variety of scales. For example, a video encoder system may be configured to select between MPEG-2 or H.264 encoders. At a finer scale, even if an encoder is fixed, an encoding system may select between profiles or modes within the encoder. Furthermore, some of these methods may have associated intellectual property rights (IPR). At the decoder, decisions between methods or algorithms may be also made. As with the decoder decisions, these may depend upon a variety of parameters, and some methods may be subject to IPR. In some cases, the IPR in a coding system may be solely related to decoder methods.
Similarly, multiple methods may be available for transmission of the encoded multimedia. For instance, some transmitters may be configured as software radios and are therefore flexible in choice of transmission options such as data packaging, channel encoding, and modulation schemes. Other transmitters may be configured as multi-band or multi-mode transmitters, where some or all of the functionality is implemented in hardware. Other transmitters may have combinations of these configurations. In any of these cases, some or portions of some methods may be subject to licensing agreements. However, even if the covered methods are never used, the methods are typically licensed as part of the transmitter.
In addition to tracking IP usage, in certain instances, it would be beneficial to utilize transmission algorithms and/or encoding or decoding algorithms generated based on the content to be coded/transmitted, the IPR utilization in the transmission or coding algorithms, or other parameters of the system. This flexibility may result in more efficient transmission, encoding, or decoding of multimedia data. As long as a receiver is flexible, e.g., multi-band or multi-mode, the choice of band or transmission strategy can be left to a transmitter, as can the use of algorithms for channel encoding and modulation.
As an example of coding flexibility, within an encoder profile or mode, there may be multiple methods or algorithms for implementing specific necessary functions. These methods may differ in factors such as processing power, memory usage, or even compression ability. For instance, a fast version of a transform, e.g. a fast DCT as disclosed in U.S. Pat. No. 6,742,009, may be applied as opposed to a more time-consuming implementation.
However, decoders in devices that receive multimedia data with encoding methods that vary in response to the content or system parameters may not be configured to correctly decode this encoded content. This lack of configuration may be due to reasons such as a limit on the number of decoders able to be implemented in a device, no support for legacy decoders, and no support for new encoders. Furthermore, as with encoders, there may be multiple methods or algorithms for implementing specific necessary functions. These methods may differ in factors such as processing power, memory usage, or decompression performance.